package com.onesports.intelligent.k12.polarlight.domain.dto.student;

import com.onesports.intelligent.k12.polarlight.security.SecurityUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author Wsy
 **/
@Data
@ApiModel("学员拼班添加DTO")
public class StuSpellClassDTO {

    @ApiModelProperty(value = "家长id", hidden = true)
    private String wxUserId;

    @ApiModelProperty(value = "班级id", required = true)
    @NotBlank(message = "班级id不可为空")
    private String classId;

    @ApiModelProperty("学员信息")
    @NotEmpty(message = "请选择学员")
    @Valid
    private List<Stu> stuInfo;


    @Data
    @Accessors(chain = true)
    public static class Stu {

        @ApiModelProperty("班级学员id")
        private String classStudentId;

        @ApiModelProperty(value = "学员id", required = true)
        @NotBlank(message = "学员id不可为空")
        private String studentId;

        @ApiModelProperty(value = "学员排序", required = true)
        @NotNull(message = "学员排序不可为空")
        private Integer sort;

        @ApiModelProperty(value = "订单id", hidden = true)
        private String orderId;

        @ApiModelProperty(value = "是否发送充值提醒", hidden = true)
        private Boolean isNotice;

        @ApiModelProperty(value = "总课次", hidden = true)
        private Integer totalNum;

        @ApiModelProperty(value = "签到数", hidden = true)
        private Integer signNum;

        @ApiModelProperty(value = "未到数", hidden = true)
        private Integer absentNum;

        @ApiModelProperty(value = "请假数", hidden = true)
        private Integer leaveNum;

        @ApiModelProperty(value = "学员下节课id", hidden = true)
        private String scheduleDetailId;
    }
}
